package com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.service;

import com.css.fxfzfxqh.base.response.RestResponse;
import com.css.fxfzfxqh.modules.buildingKilometerGrid.exceptions.BizException;
import com.css.fxfzfxqh.modules.buildings.calculationTasks.entity.CalculationTasks;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.entity.EarthquakeAffectedField;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.entity.ResistEarthquakesCalculation;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.entity.ResistEarthquakesDE;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.param.DETasksParam;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.param.ResistEarthquakesCalculationParam;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.param.AssessParam;
import com.css.fxfzfxqh.modules.singleIndexRiskZoning.model.entity.FxqhAssessEdQh;
import com.css.fxfzfxqh.modules.singleIndexRiskZoning.model.entity.FxqhAssessEdQhResult;

import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;

public interface ResistEarthquakesDEService {
    void addAssess(ResistEarthquakesDE param) throws Exception;

    RestResponse calculation(DETasksParam param) throws Exception;

    String reportImport(InputStream inputStream,String type,String id,String code);

    void exportData(HttpServletResponse response, ResistEarthquakesCalculationParam param);

    Map<String, Object> queryCalculation(int curPage, int pageSize,String seismicInputMode, String id, String condition, String damageDegree);

    Map<String, Object> getPage(int curPage, int pageSize, AssessParam param);

    void updateCorrectionValue(ResistEarthquakesCalculation param);

    void upDateAssess(ResistEarthquakesDE param);

    String getCode(ResistEarthquakesDE param);

    ResistEarthquakesDE findById(String id);

    List<EarthquakeAffectedField> getSeismicInfluence();

    List<FxqhAssessEdQhResult> doZoning(FxqhAssessEdQh entity) throws UnsupportedEncodingException, BizException;
    List<FxqhAssessEdQhResult> doZoning(CalculationTasks task) throws UnsupportedEncodingException, BizException;
}
